package com.vf.activity.service.impl;

import java.util.List;

import com.vf.activity.domain.DTO.ActivityParticipantsDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.vf.activity.mapper.ActivityParticipantsMapper;
import com.vf.activity.domain.ActivityParticipants;
import com.vf.activity.service.IActivityParticipantsService;

/**
 * 活动参与者（最终确认的参与者）Service业务层处理
 * 
 * @author LBS
 * @date 2025-06-04
 */
@Service
public class ActivityParticipantsServiceImpl implements IActivityParticipantsService 
{
    @Autowired
    private ActivityParticipantsMapper activityParticipantsMapper;

    /**
     * 查询活动参与者（最终确认的参与者）
     * 
     * @param activityId 活动参与者（最终确认的参与者）主键
     * @return 活动参与者（最终确认的参与者）
     */
    @Override
    public ActivityParticipants selectActivityParticipantsByActivityId(Long activityId)
    {
        return activityParticipantsMapper.selectActivityParticipantsByActivityId(activityId);
    }

    /**
     * 查询活动参与者（最终确认的参与者）列表
     * 
     * @param activityParticipants 活动参与者（最终确认的参与者）
     * @return 活动参与者（最终确认的参与者）
     */
    @Override
    public List<ActivityParticipants> selectActivityParticipantsList(ActivityParticipants activityParticipants)
    {
        return activityParticipantsMapper.selectActivityParticipantsList(activityParticipants);
    }

    /**
     * 新增活动参与者（最终确认的参与者）
     * 
     * @param activityParticipants 活动参与者（最终确认的参与者）
     * @return 结果
     */
    @Override
    public int insertActivityParticipants(ActivityParticipants activityParticipants)
    {
        return activityParticipantsMapper.insertActivityParticipants(activityParticipants);
    }

    /**
     * 修改活动参与者（最终确认的参与者）
     * 
     * @param activityParticipants 活动参与者（最终确认的参与者）
     * @return 结果
     */
    @Override
    public int updateActivityParticipants(ActivityParticipants activityParticipants)
    {
        return activityParticipantsMapper.updateActivityParticipants(activityParticipants);
    }

    /**
     * 批量删除活动参与者（最终确认的参与者）
     * 
     * @param activityIds 需要删除的活动参与者（最终确认的参与者）主键
     * @return 结果
     */
    @Override
    public int deleteActivityParticipantsByActivityIds(Long[] activityIds)
    {
        return activityParticipantsMapper.deleteActivityParticipantsByActivityIds(activityIds);
    }

    /**
     * 删除活动参与者（最终确认的参与者）信息
     * 
     * @param activityId 活动参与者（最终确认的参与者）主键
     * @return 结果
     */
    @Override
    public int deleteActivityParticipantsByActivityId(Long activityId)
    {
        return activityParticipantsMapper.deleteActivityParticipantsByActivityId(activityId);
    }

    @Override
    public List<ActivityParticipantsDTO> listById(Long activityId) {
        return activityParticipantsMapper.selectActivityParticipantsByActivityIdNew(activityId);
    }
}
